home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1979-12-31 | 8.8 KB | 226 lines |
- 100 REM A PERPETUAL CALENDAR
- 105 WIDTH 80
- 110 REM IBM BASIC
- 120 K$=" ":DIM D$(35):V$=CHR$(124):GOTO 180
- 130 PRINT STRING$(70,45):RETURN
- 140 LPRINT STRING$(70,45):RETURN
- 150 CLS:FOR X=1 TO 10:PRINT:NEXT X:RETURN
- 160 PRINT:INPUT "Press >RETURN< (Q to quit) ",R$:IF R$="Q" THEN 170 ELSE RETURN
- 170 GOSUB 150:GOSUB 130:PRINT TAB(33)"End.":GOSUB 130:END
- 180 GOSUB 150:PRINT TAB(24)"A PERPETUAL CALENDAR":PRINT TAB(24)"********************"
- 190 PRINT:PRINT:INPUT "Which year? ",Y:YEAR=Y
- 200 INPUT "Which month? (type complete word) ",MONTH$
- 210 GOSUB 130:INPUT "Printout? (Y/N) ",PR$:D=1:M=0
- 220 IF MONTH$="JANUARY" THEN M=1
- 230 IF MONTH$="FEBRUARY" THEN M=2
- 240 IF MONTH$="MARCH" THEN M=3
- 250 IF MONTH$="APRIL" THEN M=4
- 260 IF MONTH$="MAY" THEN M=5
- 270 IF MONTH$="JUNE" THEN M=6
- 280 IF MONTH$="JULY" THEN M=7
- 290 IF MONTH$="AUGUST" THEN M=8
- 300 IF MONTH$="SEPTEMBER" THEN M=9
- 310 IF MONTH$="OCTOBER" THEN M=10
- 320 IF MONTH$="NOVEMBER" THEN M=11
- 330 IF MONTH$="DECEMBER" THEN M=12
- 335 IF M=0 THEN 200
- 340 ON M GOTO 350,360,370,380,390,400,410,420,430,440,450,460
- 350 E=D:GOTO 470
- 360 E=D+31:GOTO 470
- 370 E=D+59:GOTO 470
- 380 E=D+90:GOTO 470
- 390 E=D+120:GOTO 470
- 400 E=D+151:GOTO 470
- 410 E=D+181:GOTO 470
- 420 E=D+212:GOTO 470
- 430 E=D+243:GOTO 470
- 440 E=D+273:GOTO 470
- 450 E=D+304:GOTO 470
- 460 E=D+334
- 470 Z=Y/4:A=INT(Z):Z=Z-A:IF Z=0 THEN 480 ELSE 490
- 480 IF M>2 THEN E=E+1 ELSE E=E
- 490 B=(Y-1)/4:B=INT(B):C=(Y-1)/100:C=INT(C):F=(Y-1)/400:F=INT(F)
- 500 G=E+Y+B-C+F:H=G/7:I=INT(H):I=H-I:I=I*7:GOSUB 150:GOSUB 130
- 510 IF I<1 AND I>0.5 THEN 580
- 520 IF I<2 AND I>1.5 THEN 700
- 530 IF I<3 AND I>2.5 THEN 820
- 540 IF I<4.5 AND I>4 THEN 940
- 550 IF I<5.5 AND I>5 THEN 1060
- 560 IF I<6.5 AND I>6 THEN 1180
- 570 IF I=0 THEN 1300
- 580 D$(1)="1":D$(2)="2":D$(3)="3":D$(4)="4":D$(5)="5":D$(6)="6":D$(7)="7"
- 590 D$(8)="8":D$(9)="9":D$(10)="10":D$(11)="11":D$(12)="12":D$(13)="13"
- 600 D$(14)="14":D$(15)="15":D$(16)="16":D$(17)="17":D$(18)="18":D$(19)="19"
- 610 D$(20)="20":D$(21)="21":D$(22)="22":D$(23)="23":D$(24)="24":D$(25)="25"
- 620 D$(26)="26":D$(27)="27":D$(28)="28":D$(29)="29":D$(30)="30":D$(31)="31"
- 630 D$(32)=K$:D$(33)=K$:D$(34)=K$:D$(35)=K$
- 640 IF M=4 OR M=6 OR M=9 OR M=11 THEN 690 ELSE 650
- 650 IF M=2 THEN 660 ELSE 1420
- 660 IF Z=0 THEN 670 ELSE 680
- 670 D$(30)=K$:D$(31)=K$:GOTO 1420
- 680 D$(29)=K$:D$(30)=K$:D$(31)=K$:GOTO 1420
- 690 D$(31)=K$:GOTO 1420
- 700 D$(1)=K$:D$(2)="1":D$(3)="2":D$(4)="3":D$(5)="4":D$(6)="5":D$(7)="6"
- 710 D$(8)="7":D$(9)="8":D$(10)="9":D$(11)="10":D$(12)="11":D$(13)="12"
- 720 D$(14)="13":D$(15)="14":D$(16)="15":D$(17)="16":D$(18)="17":D$(19)="18"
- 730 D$(20)="19":D$(21)="20":D$(22)="21":D$(23)="22":D$(24)="23":D$(25)="24"
- 740 D$(26)="25":D$(27)="26":D$(28)="27":D$(29)="28":D$(30)="29":D$(31)="30"
- 750 D$(32)="31":D$(33)=K$:D$(34)=K$:D$(35)=K$
- 760 IF M=4 OR M=6 OR M=9 OR M=11 THEN 810 ELSE 770
- 770 IF M=2 THEN 780 ELSE 1420
- 780 IF Z=0 THEN 790 ELSE 800
- 790 D$(31)=K$:D$(32)=K$:GOTO 1420
- 800 D$(30)=K$:D$(31)=K$:D$(32)=K$:GOTO 1420
- 810 D$(32)=K$:GOTO 1420
- 820 D$(1)=K$:D$(2)=K$:D$(3)="1":D$(4)="2":D$(5)="3":D$(6)="4":D$(7)="5"
- 830 D$(8)="6":D$(9)="7":D$(10)="8":D$(11)="9":D$(12)="10":D$(13)="11"
- 840 D$(14)="12":D$(15)="13":D$(16)="14":D$(17)="15":D$(18)="16":D$(19)="17"
- 850 D$(20)="18":D$(21)="19":D$(22)="20":D$(23)="21":D$(24)="22":D$(25)="23"
- 860 D$(26)="24":D$(27)="25":D$(28)="26":D$(29)="27":D$(30)="28":D$(31)="29"
- 870 D$(32)="30":D$(33)="31":D$(34)=K$:D$(35)=K$
- 880 IF M=4 OR M=6 OR M=9 OR M=11 THEN 930 ELSE 890
- 890 IF M=2 THEN 900 ELSE 1420
- 900 IF Z=0 THEN 910 ELSE 920
- 910 D$(32)=K$:D$(33)=K$:GOTO 1420
- 920 D$(31)=K$:D$(32)=K$:D$(33)=K$:GOTO 1420
- 930 D$(33)=K$:GOTO 1420
- 940 D$(1)=K$:D$(2)=K$:D$(3)=K$:D$(4)="1":D$(5)="2":D$(6)="3":D$(7)="4"
- 950 D$(8)="5":D$(9)="6":D$(10)="7":D$(11)="8":D$(12)="9":D$(13)="10"
- 960 D$(14)="11":D$(15)="12":D$(16)="13":D$(17)="14":D$(18)="15":D$(19)="16"
- 970 D$(20)="17":D$(21)="18":D$(22)="19":D$(23)="20":D$(24)="21":D$(25)="22"
- 980 D$(26)="23":D$(27)="24":D$(28)="25":D$(29)="26":D$(30)="27":D$(31)="28"
- 990 D$(32)="29":D$(33)="30":D$(34)="31":D$(35)=K$
- 1000 IF M=4 OR M=6 OR M=9 OR M=11 THEN 1050 ELSE 1010
- 1010 IF M=2 THEN 1020 ELSE 1420
- 1020 IF Z=0 THEN 1030 ELSE 1040
- 1030 D$(33)=K$:D$(34)=K$:GOTO 1420
- 1040 D$(32)=K$:D$(33)=K$:D$(34)=K$:GOTO 1420
- 1050 D$(34)=K$:GOTO 1420
- 1060 D$(1)=K$:D$(2)=K$:D$(3)=K$:D$(4)=K$:D$(5)="1":D$(6)="2":D$(7)="3"
- 1070 D$(8)="4":D$(9)="5":D$(10)="6":D$(11)="7":D$(12)="8":D$(13)="9"
- 1080 D$(14)="10":D$(15)="11":D$(16)="12":D$(17)="13":D$(18)="14":D$(19)="15"
- 1090 D$(20)="16":D$(21)="17":D$(22)="18":D$(23)="19":D$(24)="20":D$(25)="21"
- 1100 D$(26)="22":D$(27)="23":D$(28)="24":D$(29)="25":D$(30)="26":D$(31)="27"
- 1110 D$(32)="28":D$(33)="29":D$(34)="30":D$(35)="31"
- 1120 IF M=4 OR M=6 OR M=9 OR M=11 THEN 1170 ELSE 1130
- 1130 IF M=2 THEN 1140 ELSE 1420
- 1140 IF Z=0 THEN 1150 ELSE 1160
- 1150 D$(34)=K$:D$(35)=K$:GOTO 1420
- 1160 D$(33)=K$:D$(34)=K$:D$(35)=K$:GOTO 1420
- 1170 D$(35)=K$:GOTO 1420
- 1180 D$(1)=K$:D$(2)=K$:D$(3)=K$:D$(4)=K$:D$(5)=K$:D$(6)="1":D$(7)="2"
- 1190 D$(8)="3":D$(9)="4":D$(10)="5":D$(11)="6":D$(12)="7":D$(13)="8"
- 1200 D$(14)="9":D$(15)="10":D$(16)="11":D$(17)="12":D$(18)="13":D$(19)="14"
- 1210 D$(20)="15":D$(21)="16":D$(22)="17":D$(23)="18":D$(24)="19":D$(25)="20"
- 1220 D$(26)="21":D$(27)="22":D$(28)="23":D$(29)="24/31":D$(30)="25":D$(31)="26"
- 1230 D$(32)="27":D$(33)="28":D$(34)="29":D$(35)="30"
- 1240 IF M=4 OR M=6 OR M=9 OR M=11 THEN 1290 ELSE 1250
- 1250 IF M=2 THEN 1260 ELSE 1420
- 1260 IF Z=0 THEN 1270 ELSE 1280
- 1270 D$(29)="24":D$(35)=K$:=K$:GOTO 1420
- 1280 D$(29)="24":D$(34)=K$:D$(35)=K$:GOTO 1420
- 1290 D$(29)="24":GOTO 1420
- 1300 D$(1)=K$:D$(2)=K$:D$(3)=K$:D$(4)=K$:D$(5)=K$:D$(6)=K$:D$(7)="1"
- 1310 D$(8)="2":D$(9)="3":D$(10)="4":D$(11)="5":D$(12)="6":D$(13)="7"
- 1320 D$(14)="8":D$(15)="9":D$(16)="10":D$(17)="11":D$(18)="12":D$(19)="13"
- 1330 D$(20)="14":D$(21)="15":D$(22)="16":D$(23)="17":D$(24)="18":D$(25)="19"
- 1340 D$(26)="20":D$(27)="21":D$(28)="22":D$(29)="23/30":D$(30)="24/31":D$(31)="25"
- 1350 D$(32)="26":D$(33)="27":D$(34)="28":D$(35)="29"
- 1360 IF M=4 OR M=6 OR M=9 OR M=11 THEN 1410 ELSE 1370
- 1370 IF M=2 THEN 1380 ELSE 1420
- 1380 IF Z=0 THEN 1390 ELSE 1400
- 1390 D$(29)="23":D$(30)="24":GOTO 1420
- 1400 D$(29)="23":D$(30)="24":D$(35)=K$:GOTO 1420
- 1410 D$(30)="24":GOTO 1420
- 1420 GOSUB 150:PRINT"Calendar for ";MONTH$;" ";YEAR
- 1430 GOSUB 130
- 1440 PRINT V$;TAB(3)"SUNDAY";TAB(10)V$;TAB(13)"MONDAY";TAB(20)V$;TAB(22)"TUESDAY";
- 1450 PRINT TAB(30)V$;TAB(31)"WEDNESDAY";TAB(40)V$;TAB(42)"THURSDAY";TAB(50)V$;
- 1460 PRINT TAB(53)"FRIDAY";TAB(60)V$;TAB(62)"SATURDAY";TAB(70)V$:GOSUB 130
- 1470 PRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 1480 PRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 1490 PRINT V$;TAB(5)D$(1);TAB(10)V$;TAB(15)D$(2);
- 1500 PRINT TAB(20)V$;TAB(25)D$(3);TAB(30)V$;TAB(35)D$(4);
- 1510 PRINT TAB(40)V$;TAB(45)D$(5);TAB(50)V$;
- 1520 PRINT TAB(55)D$(6);TAB(60)V$;TAB(65)D$(7);TAB(70)V$
- 1530 PRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 1540 PRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 1550 GOSUB 130:PRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 1560 PRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 1570 PRINT V$;TAB(5)D$(8);TAB(10)V$;TAB(15)D$(9);
- 1580 PRINT TAB(20)V$;TAB(24)D$(10);TAB(30)V$;TAB(34)D$(11);
- 1590 PRINT TAB(40)V$;TAB(44)D$(12);TAB(50)V$;
- 1600 PRINT TAB(54)D$(13);TAB(60)V$;TAB(64)D$(14);TAB(70)V$
- 1610 PRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 1620 PRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 1630 GOSUB 130:PRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 1640 PRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 1650 PRINT V$;TAB(4)D$(15);TAB(10)V$;TAB(14)D$(16);
- 1660 PRINT TAB(20)V$;TAB(24)D$(17);TAB(30)V$;TAB(34)D$(18);
- 1670 PRINT TAB(40)V$;TAB(44)D$(19);TAB(50)V$;
- 1680 PRINT TAB(54)D$(20);TAB(60)V$;TAB(64)D$(21);TAB(70)V$
- 1690 PRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 1700 PRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 1710 GOSUB 130:PRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 1720 PRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 1730 PRINT V$;TAB(4)D$(22);TAB(10)V$;TAB(14)D$(23);
- 1740 PRINT TAB(20)V$;TAB(24)D$(24);TAB(30)V$;TAB(34)D$(25);
- 1750 PRINT TAB(40)V$;TAB(44)D$(26);TAB(50)V$;
- 1760 PRINT TAB(54)D$(27);TAB(60)V$;TAB(64)D$(28);TAB(70)V$
- 1770 PRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 1780 PRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 1790 GOSUB 130:PRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 1800 PRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 1810 PRINT V$;TAB(4)D$(29);TAB(10)V$;TAB(14)D$(30);
- 1820 PRINT TAB(20)V$;TAB(24)D$(31);TAB(30)V$;TAB(34)D$(32);
- 1830 PRINT TAB(40)V$;TAB(44)D$(33);TAB(50)V$;TAB(54)D$(34);
- 1840 PRINT TAB(60)V$;TAB(64)D$(35);TAB(70)V$
- 1850 PRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 1860 PRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$:GOSUB 130:GOTO 1870
- 1870 IF PR$="Y" THEN 1880 ELSE END
- 1880 LPRINT "Calendar for ";MONTH$;" ";YEAR
- 1890 GOSUB 140
- 1900 LPRINT V$;TAB(3)"SUNDAY";TAB(10)V$;TAB(13)"MONDAY";TAB(20)V$;TAB(22)"TUESDAY";
- 1910 LPRINT TAB(30)V$;TAB(31)"WEDNESDAY";TAB(40)V$;TAB(42)"THURSDAY";TAB(50)V$;
- 1920 LPRINT TAB(53)"FRIDAY";TAB(60)V$;TAB(62)"SATURDAY";TAB(70)V$:GOSUB 140
- 1930 LPRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 1940 LPRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 1950 LPRINT V$;TAB(5)D$(1);TAB(10)V$;TAB(15)D$(2);
- 1960 LPRINT TAB(20)V$;TAB(25)D$(3);TAB(30)V$;TAB(35)D$(4);
- 1970 LPRINT TAB(40)V$;TAB(45)D$(5);TAB(50)V$;
- 1980 LPRINT TAB(55)D$(6);TAB(60)V$;TAB(65)D$(7);TAB(70)V$
- 1990 LPRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 2000 LPRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 2010 GOSUB 140:LPRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 2020 LPRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 2030 LPRINT V$;TAB(5)D$(8);TAB(10)V$;TAB(15)D$(9);
- 2040 LPRINT TAB(20)V$;TAB(24)D$(10);TAB(30)V$;TAB(34)D$(11);
- 2050 LPRINT TAB(40)V$;TAB(44)D$(12);TAB(50)V$;
- 2060 LPRINT TAB(54)D$(13);TAB(60)V$;TAB(64)D$(14);TAB(70)V$
- 2070 LPRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 2080 LPRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 2090 GOSUB 140:LPRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 2100 LPRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 2110 LPRINT V$;TAB(4)D$(15);TAB(10)V$;TAB(14)D$(16);
- 2120 LPRINT TAB(20)V$;TAB(24)D$(17);TAB(30)V$;TAB(34)D$(18);
- 2130 LPRINT TAB(40)V$;TAB(44)D$(19);TAB(50)V$;
- 2140 LPRINT TAB(54)D$(20);TAB(60)V$;TAB(64)D$(21);TAB(70)V$
- 2150 LPRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 2160 LPRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 2170 GOSUB 140:LPRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 2180 LPRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 2190 LPRINT V$;TAB(4)D$(22);TAB(10)V$;TAB(14)D$(23);
- 2200 LPRINT TAB(20)V$;TAB(24)D$(24);TAB(30)V$;TAB(34)D$(25);
- 2210 LPRINT TAB(40)V$;TAB(44)D$(26);TAB(50)V$;
- 2220 LPRINT TAB(54)D$(27);TAB(60)V$;TAB(64)D$(28);TAB(70)V$
- 2230 LPRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 2240 LPRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 2250 GOSUB 140:LPRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 2260 LPRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$
- 2270 LPRINT V$;TAB(4)D$(29);TAB(10)V$;TAB(14)D$(30);
- 2280 LPRINT TAB(20)V$;TAB(24)D$(31);TAB(30)V$;TAB(34)D$(32);
- 2290 LPRINT TAB(40)V$;TAB(44)D$(33);TAB(50)V$;TAB(54)D$(34);
- 2300 LPRINT TAB(60)V$;TAB(64)D$(35);TAB(70)V$
- 2310 LPRINT V$;TAB(10)V$;TAB(20)V$;TAB(30)V$;
- 2320 LPRINT TAB(40)V$;TAB(50)V$;TAB(60)V$;TAB(70)V$:GOSUB 140
-